<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数拥有多个原型</title>
</head>
<body>
    <script>
        function User(){}
        // 因为函数既可以当做对象(单纯的函数)，又可以作为构造函数实例化对象，所以函数有两个原型，一个服务于函数对象(__proto__)，一个服务于实例化对象(prototype)
        console.dir(User);


        User.__proto__.view = function(){
            console.log("我是函数对象的方法");
        }
        User.view();


        User.prototype.show = function(){
            console.log("我是构造函数实例化对象的方法");
        }
        let lisi = new User();
        console.dir(lisi);
        lisi.show();

        // 判断构造函数的prototype原型是不是它实例化出来的对象的__proto__原型
        console.log(User.prototype == lisi.__proto__);
    </script>
</body>
</html>